import http from '@/utils/request'

// 商品相关请求

// interface IListItemData {
//   proname: string
//   proid: string
//   imgs: Array<string>
//   category: string
//   desc: string
//   issale: number
// }
// interface IResProListData {
//   code: string
//   message: string
//   data: Array<IListItemData>
// }
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proListRequest(count = 1, limitNum = 10, search = '', category = '') {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResProListData>({
    method: 'get',
    url: '/admin/pro/list',
    params: { count, limitNum, search, category },
  })
}

interface IResDelListData {
  code: string
  message: string
  data: {
    token: string
    adminname: string
  }
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proDelRequest(proid: string) {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResDelListData>({
    method: 'delete',
    url: '/admin/pro/product/' + proid,
    data: {},
  })
}

interface IResUpdateData {
  code: string
  message: string
  data: {
    token: string
    adminname: string
  }
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proUpdateRequest(proid: string, obj: object) {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResUpdateData>({
    method: 'patch',
    url: '/admin/pro/product/' + proid,
    data: obj,
  })
}

interface IResUpdateData {
  code: string
  message: string
  data: {
    token: string
    adminname: string
  }
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proSendRequest(proid: string, obj: object) {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResUpdateData>({
    method: 'post',
    url: '/admin/pro/product/' + proid,
    data: obj,
  })
}

export { proListRequest, proDelRequest, proUpdateRequest, proSendRequest }
